home *** CD-ROM | disk | FTP | other *** search
/ Input 64 / Input_64_85-04_1985_Verlag_Heinz_Weise_de.d64 / S H O R T - S (.txt) < prev    next >
Commodore BASIC  |  2023-02-26  |  6KB  |  111 lines

  1. 5 ifpeek(50307)<>120then10
  2. 6 a=50257:pokea,8:pokea+2,118:pokea+3,026:pokea+4,117:pokea+5,032
  3. 10 poke53280,1:poke53281,1:printchr$(142)chr$(8)
  4. 20 print"[147][156]                                        ";
  5. 30 print"       s  h  o  r  t  s  a  v  e        ";
  6. 40 print"[156]                                        "
  7. 50 print"[149] von holger gehrmann  deutschland, 1985"
  8. 60 print"[144]bitte waehlen sie:"
  9. 70 print" 1 [146] was ist shortsave? (kurzerklaerung)
  10. 80 [153]" 2 wait wie arbeitet shortsave?
  11. 90 print" 3 [146] wie kann ich shortsave fuer eigene
  12. 100 [153]"    programme anwenden?"
  13. 120 [153]"stopwenn sie ctrl+s druecken, wird nur das
  14. 130 print"eigentliche shortsave-tool abgesaved,
  15. 140 [153]"nicht dieses demo-programm!"
  16. 150 [153]:[153]"verify   holger gehrmann, heinrichstr. 25
  17. 160 print"   3000 hannover 1, tel:0511/344771"
  18. 180 getr$:r=val(r$):ifr<1orr>3then180
  19. 185 a$="[147][144]input 64    shortsave by holger gehrmann[149]"
  20. 190 onrgoto200,400,900
  21. 200 rem 1.was ist shortsave (kurzerkl.)
  22. 210 printa$;"[146]shortsave verkuerzt [149]programme.
  23. 220 [153]"bevor man ein programm abspeichert, ruft";
  24. 230 [153]"man die shortsave-verkuerzungsroutine
  25. 240 print"auf, die das programm in einen speziel-"
  26. 250 print"len code veraendert (nicht list- oder
  27. 260 [153]"run-faehig, nur zum abspeichern geeig-"
  28. 270 [153]"net).
  29. 275 print"dieses nunmehr verkuerzte programm"
  30. 280 print"saved man normal ab."
  31. 290 print"[151]wenn man nun dieses verkuerzte programm"
  32. 300 print"wieder laedt, muss man nach beendetem"
  33. 310 print"ladevorgang die shortsave-normalisie-"
  34. 320 print"rungsroutine aufrufen, die das programm"
  35. 330 print"wieder in die original-laenge umaendert.";
  36. 340 print"das programm ist dann wie vorher"
  37. 350 print"lauffaehig."
  38. 360 print"   taste druecken!   [146]":poke198,0:wait198,1:poke198,0:run
  39. 400 rem 2.wie arbeitet shortsave
  40. 410 printa$;"[146]man ueberlegt sich natuerlich,wie short-";
  41. 420 print"save beliebige programme einfach kuerzer";
  42. 430 print"machen kann. es funktioniert so:"
  43. 440 print"[151]in allen programmen kommt es automatisch";
  44. 450 print"vor, dass mehrere gleiche bytes hinter-"
  45. 460 print"einander im speicher abgelegt sind."
  46. 470 print"[152]beispiel: irgendwo im speicher stehen
  47. 480 [153]"hintereinander 20 nullen. normalerweise"
  48. 490 [153]"saved man nun alle 20 nullen ab, das
  49. 500 print"nimmt 20 byte ein. shortsave zaehlt die
  50. 510 [153]"nullen und legt lediglich im speicher"
  51. 520 [153]"ab, welches byte wie oft im speicher"
  52. 530 [153]"steht (in diesem falle 0 und 20, byte"
  53. 540 [153]"null, anzahl 20)."
  54. 550 [153]"das nimmt nur ganze 2 byte ein!"
  55. 560 [153]"stop   taste druecken!   wait":[151]198,0:[146]198,1:[151]198,0
  56. 570 [153]a$;"waitclralle anderen zeichen werden normal im"
  57. 580 [153]"speicher abgelegt."
  58. 590 [153]"die shortsave-normalisierungsroutine"
  59. 600 [153]"wandelt den programmcode, in dem bytes,"
  60. 610 [153]"die in groesserer zahl hintereinander"
  61. 620 [153]"auftreten, wie schon erklaert als nur 2"
  62. 630 [153]"bytes abgespeichert sind, wieder in die"
  63. 640 [153]"herkoemmliche abspeicherungsart um."
  64. 650 [153]"pokevor jedem 'byte + anzahl' steht dann"
  65. 660 [153]"noch ein spezialcode, ein h und ein g,"
  66. 670 [153]"damit die rueckwandelroutine weiss, wann";
  67. 680 [153]"ein normal abgespeichertes byte kommt
  68. 690 print"und wann eins mit anzahl."
  69. 700 print"   taste druecken!   [146]":wait198,1:poke198,0
  70. 710 printa$;"[146]beispiel:"
  71. 720 print"[151]speicherinhalt vor umwandlung:"
  72. 730 print"[149]nubioybyuuuuuuuuuuuuuuuuuuuuurwrtcweax"
  73. 740 print"[152]speicherinhalt nach umwandlung durch    shortsave:"
  74. 750 print"[149]nubioybyhgu21rwrtcweax"
  75. 760 print"anstelle der 21 u's steht im speicher"
  76. 770 print"nur noch hgu21."
  77. 780 print"stehen die zeichen h und g jedoch schon"
  78. 790 print"irgendwo im unumgewandelten programm, so";
  79. 800 print"ist dieses nicht wandlungsfaehig, die
  80. 810 [153]"rueckwandelroutine kaeme sonst durchein-";
  81. 820 [153]"ander (sie sieht h und g als spezial-
  82. 830 print"code fuer 'byte + anzahl' an).
  83. 840 [153]"in solchen faellen gibt die shortsave-"
  84. 850 [153]"verkuerzungsroutine die meldung
  85. 860 print"cannot do that aus."
  86. 870 print"[144]   taste druecken!   [146]":poke198,0:wait198,1:poke198,0:run
  87. 900 rem 3.shortsave in eigenen pgmen
  88. 910 printa$;"[146][151]um eigene programme in verkuerzter form"
  89. 920 print"auf diskette oder kassette zu saven,
  90. 930 [153]"gehen sie folgendermassen vor:"
  91. 940 [153]" 1. shortsave-tool laden
  92. 990 print" 2. shortsave-tool starten (run)
  93. 1000 [153]" 3. eigenes programm laden
  94. 1010 print" 4. shortcode-sys eingeben (sys40497)
  95. 1020 [153]"(warten, bis das programm verkuerzt ist)
  96. 1030 print" 5. 'clr' eingeben
  97. 1040 [153]" 6. eigenes programm saven (auf diskette"
  98. 1050 [153]"    mit ,8,1   auf kassette mit ,1,1)"
  99. 1060 [153]"stop   taste druecken!   wait":[151]198,0:[146]198,1:[151]198,0
  100. 1070 [153]a$;"waitpokeum verkuerzte programme von kassette bzw";
  101. 1080 [153]"diskette zu laden, muessen sie:"
  102. 1090 [153]" 1. shortsave-tool laden."
  103. 1100 [153]" 2. shortsave-tool starten"
  104. 1110 [153]" 3. eigenes programm laden (von diskette"
  105. 1115 [153]"    mit ,8,1   von kassette mit ,1,1)"
  106. 1120 [153]" 4. normalcode-sys eingeben (sys39936)
  107. 1130 print"(warten, bis das programm wieder die ur-spruengliche laenge hat)
  108. 1140 [153]" 5. 'clr' eingeben
  109. 1150 print" 6. eigenes programm starten
  110. 1160 [153]"stop   taste druecken!   wait":[151]198,0:[146]198,1:[151]198,0:[138]
  111.